﻿namespace Sharemarker.Common.DataAccess
{
    using System;

    public interface IUnitOfWork<out T> : IDisposable
    {
        #region Public Methods and Operators

        /// <summary>
        /// The commit.
        /// </summary>
        void Commit();

        /// <summary>
        /// The get db.
        /// </summary>
        /// <returns>
        /// The type of current db
        /// </returns>
        T GetDB();

        /// <summary>
        /// The dispose internal.
        /// </summary>
        void DisposeInternal();

        #endregion
    }
}
